Design and Implementation of a Concurrent Logic Programming Language with Linear Logic Constraints
نویسنده
چکیده
Prolog is originally rooted in logic with the elegant mapping: “programs = formulas, execution = proof search”. Constraint logic programming extends Prolog to program in a richer structure than mere Herbrand terms. The underlying constraint solving engine requires either to be built-in or to add coroutines mechanisms that are not in the scope of logical reading. Implementations add other non-logical features, like assert/retract, and mutable variables, to mimic imperative programming style. The concurrent constraint programming language enjoys logical semantics and is expressive enough to describe constraint propagators [Sar93]. Agents tell constraints as messages and are synchronised by asking whether the messages entail some constraints. The execution pursues once the guard is entailed. The suspension is therefore a transient state, captured by using linear-logic implication ( [Fag01]. Furthermore, reading constraints as resources in linear logic allows semantics to capture the non-monotonous traits of imperative programming like mutability. LCC enjoys the mapping “programs = linear-logic formulas, execution = logical deduction”: observables are the logical consequences of a program, by opposition to the logical resolution in the Prolog settings. My thesis aims at designing a practical language as close as possible to the linear concurrent constraint (LCC) theory. The main contribution is a new operational semantics which behaves as an angelic scheduler with a tractable algorithmic complexity. This operational semantics is sound and complete with respect to the logical semantics and allows the construction of a rich language over a very simple kernel. The second section presents the kernel, the third describes the operational semantics and the last section describes the state of the implementation work and its perspectives.
منابع مشابه
Design and PLC Implementation for Speed Control of DC Motor using Fuzzy Logic
In this article, a speed control of DC motor is designed and illustrated using fuzzy logic-based programmable logic controller (PLC). The DC motor is an attractive part of electrical equipment in many industrial applications requiring variable speed and load specifications due to its ease of controllability. The designed system is consisted of three main parts including programmable logic contr...
متن کاملNurse rostering using fuzzy logic: A case study
In this paper, we used the fuzzy set theory for modeling flexible constraints and uncertain data in nurse scheduling problems and proposed a fuzzy linear model for nurse rostering problems. The developed model can produce rosters that satisfy hospital objectives, ward requirements and staff preferences by satisfying their requests as much as possible. Fuzzy sets are used for modeling demands of...
متن کاملA Fast and Self-Repairing Genetic Programming Designer for Logic Circuits
Usually, important parameters in the design and implementation of combinational logic circuits are the number of gates, transistors, and the levels used in the design of the circuit. In this regard, various evolutionary paradigms with different competency have recently been introduced. However, while being advantageous, evolutionary paradigms also have some limitations including: a) lack of con...
متن کاملA Concurrent Implementation of Curry in Java
Curry is a multi-paradigm declarative language aiming to amalgamate functional, logic, and concurrent programming paradigms. Curry combines in a seamless way features from functional programming and (concurrent) logic programming. Curry's operational semantics is based on the combination of lazy reduction of expressions together with a possibly non-deterministic binding of free variables occurr...
متن کاملReal-Time Semantics for Concurrent Logic Languages
Although concurrent logic programming languages provide a suitable implementation environment for real-time systems, they fail to give any notion of temporal correctness. Previous work at extending logic languages for real-time is incomplete in terms of the real-time facilities provided. In this work, we deene a set of semantics whereby temporal constraints , consisting of delay, maximum execut...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2010